チャネルバインディング - Noise Protocol Framework (15)
Noiseプロトコルでハンドシェイクを確立後、アプリケーション層で署名、パスワードなどの方法で認証を実行する必要がある場合があります。
Noiseプロトコルではハンドシェイクが確立した後にGetHandshakeHash()を呼び出して、返された値をNoiseのセッションを一意に識別する値として利用できます。
アプリケーションでは、その値に署名をするか、あるいはパスワードと一緒にハッシュするなどして保持しておきます。この値を"チャネルバインディング"な性質をもつ認証トークンとして利用すると、相手が異なるセッションで通信しようとしたときにそれを拒否することができます。